﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace eCampus
{
    /// <summary>
    /// Formulario para la visualización del resultado de la busqueda
    /// </summary>
    public partial class FormResultadoBuscaAvanzada : Form
    {
        #region variables
        /// <summary>
        /// variables
        /// </summary>
        FormBuscaAvanzada fBuscador;
        Size panelEstandar;
        #endregion

        #region constructores
        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public FormResultadoBuscaAvanzada()
        {
            InitializeComponent();
            panelEstandar = panel1.Size;

            panel2.Size = panelEstandar;
            panel2.Anchor = panel1.Anchor;
          }
        #endregion
        
        #region integrarDT
        /// <summary>
        /// Funcion que rellena datagrid
        /// </summary>
        /// <param name="dt">DataTAble</param>
        /// <param name="panel">int</param>
        /// <param name="conAsignatura">bool</param>
        /// <param name="tipoUsuario">int</param>
        public void integrarDT(DataTable dt, int panel, Boolean conAsignatura, int tipoUsuario)
        {
            DataGridView dg=null;
            int tab = 0;
            if (panel == 1)
            {
                dg = dg1;
                setPanel2Visibilidad(false);
            }
            else
            {
                dg = dg2;
                setPanel2Visibilidad(true);
            }
            if (tipoUsuario == 0) { setLb(panel, "Administradores"); }
            if (tipoUsuario == 1) { setLb(panel, "Profesores"); }
            if (tipoUsuario == 2) { setLb(panel, "Estudiantes"); }

            dg.DataSource = dt;
            foreach (DataGridViewColumn c in dg.Columns) { c.Visible = false; }
            dg.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow;

            if (dg != null)
            {

                // La base
                dg.Columns["usuCorreo"].DisplayIndex = tab++;
                dg.Columns["usuNombre"].DisplayIndex = tab++;
                dg.Columns["usuApellido1"].DisplayIndex = tab++;
                dg.Columns["usuApellido2"].DisplayIndex = tab++;
                dg.Columns["usuCorreo"].Visible = true;
                dg.Columns["usuNombre"].Visible = true;
                dg.Columns["usuApellido1"].Visible = true;
                dg.Columns["usuApellido2"].Visible = true;
                dg.Columns["usuCorreo"].HeaderText = "Correo";
                dg.Columns["usuNombre"].HeaderText = "Nombre";
                dg.Columns["usuApellido1"].HeaderText = "Apellido 1";
                dg.Columns["usuApellido2"].HeaderText = "Apellido 2";

                
                dg.Columns["usuNombre"].Width = 120;
                dg.Columns["usuApellido1"].Width = 120;
                dg.Columns["usuApellido2"].Width = 120;

                if (tipoUsuario == 1)
                {
                    dg.Columns["usuDepto"].Visible = true;
                    dg.Columns["usuDepto"].HeaderText = "Departamento";
                    dg.Columns["usuDepto"].DisplayIndex = tab++;
                }
                if (conAsignatura)
                {
                    dg.Columns["asiNombre"].Visible = true;
                    dg.Columns["asiNombre"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    dg.Columns["asiNombre"].HeaderText = "Asignatura";
                    dg.Columns["asiNombre"].DisplayIndex = tab++;
                    dg.Columns["usuCorreo"].Width = 100;
                }
                else
                {
                    dg.Columns["usuCorreo"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                }
            }
        }
        #endregion

        #region usabilidad

        public void setPanel2Visibilidad(Boolean vis)
        {
            panel2.Visible = vis;
            lbTituloDg2.Visible = vis;
            if (!vis)
            {
                panel1.Height = 390;
            }
            else
            {
                panel1.Size = panelEstandar;
            }
        }
        public void setFBuscador(FormBuscaAvanzada f){
            fBuscador = f;
        }
        public void setLb(int num, String mensaje)
        {
            if (num == 1)
            {
                lbTituloDg1.Text = mensaje;
            }
            else
            {
                lbTituloDg2.Text = mensaje;
            }
        }
        private void btVolver_Click(object sender, EventArgs e)
        {
            fBuscador.Focus();
        }
        #endregion

    }
}
